package com.zhongwang.mms.module.buy.dao;

import com.zhongwang.mms.gen.entity.TProject;
import com.zhongwang.mms.module.buy.model.GenerateCode;
import com.zhongwang.mms.module.buy.model.Project;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 * 临时生成码表持久层
 */
@Repository
public interface GenerateCodeDao {
    /**
     * 根据前缀获取最后的编码
     * @param codePrefix
     * @return
     */
    String getBPreOrderPlanLastCode(@Param("codePrefix") String codePrefix);
    /**
     * 根据前缀获取最后的物料跟踪吗
     * @param codePrefix
     * @return
     */
    String getBPreOrderPlanLastTrackNumber(@Param("codePrefix") String codePrefix);

    /**
     * 插入编码到数据库
     * @param generateCode
     * @return
     */
    Integer insert(GenerateCode generateCode);

    /**
     * 根据项目编号获取项目实体
     * @param code
     * @return
     */
    Project getProjectByCode(@Param("code") String code);

    /**
     * 根据 Code Type UserId 删除码
     * @param removeCode 删除的条件
     * @return 删除条数
     */
    Integer deleteCodeByCodeAndTypeAndUserId(GenerateCode removeCode);
}
